package com.copm.ifm.servers.sys.file;

import com.copm.ifm.servers.sys.file.obs.ObsFileClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 文件服务器客户端配置类
 * <p>
 * 基于nacos配置中心
 *
 * @author zzf
 * @date 2021/4/28 14:27
 */
//@ConditionalOnBean(NacosConfigAutoConfiguration.class)
@Configuration
@RefreshScope
public class FileClientConfig {

    @Value("${file.type}")
    private String fileType;

    @Value("${file.obs.endPoint}")
    private String obsEndPoint;

    @Value("${file.obs.appKey}")
    private String obsAppKey;

    @Value("${file.obs.appSecret}")
    private String obsSecret;

    /**
     * 根据不同类型的创建方式进行创建
     * 暂时只是一个OBS的文件操作方式
     */
    @Bean
    FileClient fileClient() {
        if (fileType.equals(FileClientEnum.OBS.name())) {
            return obsFileClient();
        }
        // 后续有更多，则加就行了
        return obsFileClient();
    }

    private FileClient obsFileClient() {
        return new ObsFileClient(obsEndPoint, obsAppKey, obsSecret);
    }

}
